Funksione te dates dhe kohes
PHP-ja permban shume funksione te cilat japin informacion rreth dates dhe ores. Nuk eshte i nevojshem importimi i librarive te jashtme pasi ato vijne sebashku me funksionet e tjera baze te PHP-se.
checkdate
bool checkdate ( int $month , int $day , int $year )
Validon (vlereson) nje date te caktuar pasi i kemi dhene ne hyrje muajin, diten dhe vitin. Kthen TRUE
nqs. data eshte e sakte, dhe FALSE
ne te kundert.
Shembull:
$saktesia = checkdate(12, 31, 2000);
var_dump($saktesia);
Rezultati: bool(true)
$saktesia = checkdate(2, 29, 2001);
var_dump($saktesia);
Rezultati: bool(false)
date
string date ( string $format [, int $timestamp = time() ] )
Kthen daten aktuale te formatuar sipas formatit te dhene ne hyrje $format
. Ne rast se ne parametrin e dyte opsional jepet nje integer $timestamp
, i cili permban numrin e sekondave qe nga koha 1 Janar 1970 00:00:00 GMT
, atehere behet llogaritja e dates/ores per numrin e dhene te sekondave.
Numri i sekondave timestamp
per kohen aktuale mund te merret me ane te funksionit time()
.
Persa i perket formatit te stringes $format
qe jepet ne hyrje, ka disa opsione:
- Dita
- d – (01 – 31) Ditet e muajit me zero filluese
- j – (1 – 31) Ditet e muajit pa zero filluese
- D – (Mon – Sun) Versioni me tre shkronja i dites se javes
- l - ('L' e vogel) – (Sunday – Saturday) Dita e javes, fjale e plote
- Java
- W – (01 – 52) Java e vitit
Muaji
- F – (January – December) Muaji, fjale e plote
- M – (Jan – Dec) Versioni me tre shkronja i muajit
- m – (01 – 12) Muaji, numerik me zero filluese
- n – (1 – 12) Muaji, numerik pa zero filluese
- t – (28 – 31) Numri i diteve te muajit
Viti
- L – (1 or 0) Nqs. eshte vit i brishte jep (1) perndryshe jep (0)
- Y – (2016) Paraqitja e vitit me kater shifra
- y – (16) Paraqitja e vitit me dy shifra
Koda
- a – (am or pm) paradite ose pasdite me germa te vogla
- A – (AM or PM) paradite ose pasdite me germa te medha
- g – (1 – 12) formati 12-oraresh i ores, pa zero filluese
- h – (01 – 12) formati 12-oraresh i ores, me zero filluese
- G – (0 – 23) formati 24-oraresh i ores, pa zero filluese
- H – (00 – 23) formati 24-oraresh i ores, me zero filluese
- i – (00 – 59) Minutat me zero filluese
- s – (00 – 59) Sekondat me zero filluese
- u – (p.sh. 54321) Milisekondat
Shembull:
echo date('m-d-y');
Rezultati ne dalje do te jete koha aktuale ne formatin e percaktuar ne hyrje, ne rastin aktual: 01-15-16
echo date('Y/m/d');
Rezultati: 2016/01/15
getdate
array getdate ([ int $timestamp = time() ] )
Kthen nje array te tipit associative
qe permban informacion rreth $timestamp
te dhene ne hyrje, ose te kohes lokale nqs. nuk jepet parameter ne hyrje.
Shembull:
$sot = getdate();
print_r($sot);
Rezultati:
Array (
[seconds] => 42
[minutes] => 53
[hours] => 10
[mday] => 5
[wday] => 4
[mon] => 1
[year] => 2017
[yday] => 4
[weekday] => Thursday
[month] => January
[0] => 1483631622
)
ku:
- seconds - paraqitja numerike e sekondave
- minutes - paraqitja numerike e minutave
- hours - paraqitja numerike e oreve
- mday - paraqitja numerike e dites se muajit
- wday - paraqitja numerike e dites se javes
- mon - paraqitja numerike e muajit
- year - paraqitja numerike e vitit me kater shifra
- yday - paraqitja numerike e dites se vitit
- weekday - dita e javes si fjale e plote
- month - muaji si fjale e plote
- 0 - numri i sekondave qe nga data
1 Janar 1970 00:00:00 GMT
, e njejte me funksionintime()
time
int time ()
Kthen timestamp-in aktualt (Unix timestamp), pra numrin e sekondave qe nga data 1 Janar 1970 00:00:00 GMT
Shembull:
$nextWeek = time() + (7 * 24 * 60 * 60);
// 7 dite; 24 ore; 60 min; 60 sek
echo 'Tani: '. date('Y-m-d');
Rezultati: Tani: 2016-01-16
echo 'Java e ardhshme: '. date('Y-m-d', $nextWeek);
Rezultati: Java e ardhshme: 2016-01-23
strtotime
int strtotime ( string $time [, int $now = time() ] )
Analizon dhe konverton pershkrime tekstuale (ne Anglisht) te dates/ores ne nje Unix timestamp. Ne parametrin e pare hyres jepet nje string ne nje format te caktuar te dates/ores. Nqs. parametri i pare eshte nje format relativ si p.sh. last month
apo +1 week
, shprehja vleresohet mbi daten/oren aktuale. Ne menyre qe keto lloj shprehjesh te mund ti vleresojme mbi nje date tjeter, duhet te kalojme parametrin e dyte opsional i cili duhet te permbaje timestamp-in e dates se caktuar.
Nqs. parametri i pare hyres nuk eshte i vlefshem, funksioni kthen FALSE
.
Shembull:
echo strtotime("now");
Rezultati: 1483690833
Veme re qe vlera qe kthehet eshte nje timestamp, ndaj per ta konvertuar ate ne nje format te lexueshem perdorim edhe funksionin date()
te shpjeguar me lart.
$now_timestamp = strtotime("now");
date('Y-m-d', $now_timestamp);
Rezultati: 2017-01-06
Formate te tjera qe mund te kalojme ne funksionin strtotime
:
strtotime("10 September 2000");
strtotime("+1 day");
strtotime("+1 week");
strtotime("+1 week 2 days 4 hours 2 seconds");
strtotime("next Thursday");
strtotime("last Monday");
strtotime("last week");
strtotime("next week");
strtotime("1 hour ago");
strtotime("yesterday 3am");
strtotime("7am 4 days ago");
// etj...
echo date("jS F, Y", strtotime("11/12/10"));
// rezultati: 12th November, 2010